package cn.glow.readingcloud.homepage.service;

import cn.glow.readingcloud.common.pojo.IndexBooklistItem;
import cn.glow.readingcloud.common.result.Result;
import cn.glow.readingcloud.homepage.pojo.BookScore;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * @Author Glow
 * @Date 2023-04-17 15:07:10
 * @Description 书单服务接口
 * @Version 1.0
 */
public interface IndexBooklistItemService extends IService<IndexBooklistItem> {
    /**
     * 书单更多分页接口
     * @param booklistId            书单ID
     * @param page                  页数
     * @param limit                 每页数量
     * @return
     */
    Result getBooklistPagingBooks(Integer booklistId, Integer page, Integer limit);

    /**
     * 书单换一换接口
     * @param booklistId            书单ID
     * @param clientRandomNumber    客户端当前随机编号
     * @return
     */
    Result getBooklistExchange(Integer booklistId, Integer clientRandomNumber);

    /**
     * 随机获取书单图书信息
     * @param booklistId            书单ID
     * @param bookIds               图书IDs
     * @param showNumber            显示数量
     * @param clientRandomNumber    客户端当前随机编号
     * @return
     */
    List<BookScore> getBooklistRandomBooks(Integer booklistId, String bookIds, Integer showNumber, Integer clientRandomNumber, Boolean showLikeCount);

    /**
     * 顺序获取书单图书
     * @param booklistId            书单ID
     * @param bookIds               图书IDs
     * @param showNumber            显示数量
     * @param showLikeCount         显示喜欢数
     * @return
     */
    List<BookScore> getBooklistOrderBooks(Integer booklistId, String bookIds, Integer showNumber, Boolean showLikeCount);

}
